#pragma once

enum CompRetorno
{
	IGUALES,
	MENOR,
	MAYOR,
	DISTINTOS
};

template <class T>
class Comparador abstract
{
public:
	virtual ~Comparador();
	virtual CompRetorno Comparar(const T& t1, const T& t2) const abstract;

	virtual bool SonIguales(const T& t1, const T& t2) const;
	virtual bool SonDistintos(const T& t1, const T& t2) const;
	virtual bool EsMenor(const T& t1, const T& t2) const;
	virtual bool EsMayor(const T& t1, const T& t2) const;
};

#include "Comparador.cpp"
